package spring.service.impl;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import spring.dao.PessoaDao;
import spring.model.Pessoa;
import spring.service.PessoaService;

import javax.inject.Inject;
import java.math.BigDecimal;
import java.util.List;
import java.util.Random;

@Service
public class PessoaServiceImpl implements PessoaService {

	@Inject
	private PessoaDao dao;

	@Override
	@Transactional
	public void save(Pessoa pessoa) {
		dao.save(pessoa);
	}

	@Override
	public List<Pessoa> listAll() {
		return dao.findAll();
	}

	@Override
	public Pessoa findById(Long id) {
		return dao.findOne(id);
	}

	@Override
	@Transactional
	public void excluir(Pessoa pessoa) {
		dao.delete(pessoa);
	}

	@Override
	public List<Pessoa> listMaioresIdade() {
		return dao.listIdadeMaiorOuIgual(18);
	}

	@Override
	public List<Pessoa> listMenoresIdade() {
		return dao.listIdadeMenorOuIgual(17);
	}
}
